/**
 * 
 */
package cs534.crf;

import cs534.Sampler;


/**
 * @author jhostetler
 *
 */
public abstract class CrfSampler<Observation> extends Sampler<int[]>
{
	protected final ConditionalRandomField<Observation> crf_;
	
	public CrfSampler( final ConditionalRandomField<Observation> crf )
	{
		crf_ = crf;
	}
	
	public abstract int[] sample();
	
	public abstract void enterObservation( final Observation x );
	
	public abstract CrfSampler<Observation> update( final ConditionalRandomField<Observation> crf );
}
